//package com.ruoyi.system.thread;
//
//import com.alibaba.fastjson2.JSON;
//import com.ruoyi.common.utils.SnowflakeUtils;
//import com.ruoyi.system.domain.Archive;
//import lombok.Data;
//import org.springframework.data.mongodb.core.MongoTemplate;
//
//import javax.annotation.Resource;
//import java.text.SimpleDateFormat;
//import java.time.ZoneId;
//import java.time.ZonedDateTime;
//import java.time.format.DateTimeFormatter;
//import java.util.*;
//import java.util.concurrent.Callable;
//
//@Data
//public class ArchiveTask implements Callable {
//
//    private MongoTemplate mongoTemplate;
//
//    public ArchiveTask(MongoTemplate mongoTemplate){
//        this.mongoTemplate = mongoTemplate;
//    }
//
//    @Override
//    public Object call() throws Exception {
//        List<Archive> list = new ArrayList<>();
//        for (int i = 1; i <= 1000000; i++) {
//            Archive archive = new Archive();
//            archive.setCategory("score");
//            archive.setId(SnowflakeUtils.nextOrderId());
//            archive.setParentId(SnowflakeUtils.nextOrderId());
//            ZonedDateTime dateTime = ZonedDateTime.now(ZoneId.of("Asia/Shanghai"));
//            // 格式化时间输出
//            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
//            String strDate = dateTime.format(formatter);
//            Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(strDate);
//            archive.setCreatedTime(date);
//            Map<String,String> map = new HashMap<>();
//            StringBuilder sb = new StringBuilder();
//            for (int j = 0; j < 30; j++) {
//                sb.append(UUID.randomUUID().toString());
//            }
//            map.put("key" + i,sb.toString());
//            archive.setContent(JSON.toJSONString(map));
//            list.add(archive);
//            if (i%100 == 0){
//                mongoTemplate.insertAll(list);
//                list.clear();
//                list = new ArrayList<>();
//            }
//        }
//        return null;
//    }
//}
